package com.vote.services;

import java.util.List;

import com.vote.model.OptionSelectedForm;
import com.vote.model.Questionnaire;


public interface QuestionnaireService {
    
    public Questionnaire getQuestionnaireById(int id);
    
    public List<Questionnaire> getHotQuestionnaireList(int offset, int length);

	public int getHotQuestionnaireListCount();
    
    public List<Questionnaire> getNewQuestionnaireList(int offset, int length);
	
	public int getNewQuestionnaireListCount();
	
	public List<Questionnaire> getQuestionnaireListByType(int type, int offset, int length);
	
	public int getQuestionnaireListCountByType(int type);

	public List<Questionnaire> getQuestionnaireListByGroup(int group, int offset, int length);

	public int getQuestionnaireListCountByGroup(int group);
    
    public List<Questionnaire> getUserQuestionnaireListByUserId(int userId, int offset, int length);

	public int getUserQuestionnaireListCountByUserId(int userId);
    
    public int insertQuestionnaire(Questionnaire questionnaire) throws Exception;
    
    public int deleteQuestionnaireById(int id);
    
    public int addCount(int id);
    
    /**
     * 发布问卷
     * @param id
     * @return
     */
    public int onlineQuestionnaireById(int id);
    
    /**
     * 问卷下线
     * @param id
     * @return
     */
    public int offlineQuestionnaireById(int id);
    
    /**
     * 浏览者提交问�?     * @param optionSelectForm
     * @return
     */
    public int insertQuestionnaireForm(OptionSelectedForm optionSelectForm);
}
